import Axios from "axios";
import { ElLoading } from "element-plus";
// import { Loading } from 'element-ui'
let axios = Axios.create({
  timeout: 10000,
  baseURL: import.meta.env.VITE_BASE_URL,
  // baseURL: "/api",
});
// 创建一个Axios的实例：
// let http = Axios.create({
//     timeout: 10000,
//     baseURL: "/api"
//   })
// const loadingInstance = ElLoading.service(options);
axios.interceptors.request.use(
  (requestConfig) => {
    let token = sessionStorage.getItem("token");
    token && (requestConfig.headers["token"] = token);
    // console.log(token)
    // 请求时，显示loading动画0
    // loadingInstance = ElLoading.service({
    //   fullscreen: true,
    //   text: "加载中....",
    //   background: "rgba(0,0,0,0.1)",
    // });
    // 返回请求的配置对象
    return requestConfig;
  },
  (error) => Promise.reject(error)
);

axios.interceptors.response.use(
  (res) => {
    // loadingInstance.close(); // 关闭加载的动画
    // return res;
    return res; // 在组件里面，使用数据时，就少写一个data。
  },
  (error) => {
    // loadingInstance.close();
    let _resp = error.response;
    // console.log('请求失败：', _resp);
    switch (_resp.status) {
      case 401: // token过期，自动跳到登录去
        sessionStorage.clear();
        return this.$router.push("/login"); // 自动到登录页
    }

    return Promise.reject(error.response.data);
  }
);
export default axios;
